บทท 8 การจ ดการแฟ มข อม ล File Management
การจ ดการแฟ มข อม ล หน าท ส าค ญของระบบปฏ บ ต การ ค อ การจ ดการแฟ มข อม ล (File Management) ซ งเป นการช วยอ านวยความสะดวกแก ผ ใช งานในการเร ยกใช แฟ มข อม ลต างๆ และทาให ผ ใช ม ความเป นอ สระจากอ ปกรณ ผ ใช งาน (User) สามารถเร ยกใช ค าส งเพ อด าเน นการต างๆ ก บแฟ มข อม ลได เช น สร างแฟ มข อม ล (Create), เป ดแฟ มข อม ล (Open) หร อลบ แฟ มข อม ล (Delete)
แฟ มข อม ล (File) แฟ มข อม ล (File) หมายถ ง ส งท บรรจ ข อม ลต างๆ ไว ด วยก น โดยม การจ ด โครงสร าง และแต ละแฟ มข อม ลจะม ล กษณะเฉพาะหร อล กษณะประจ าของ แฟ มข อม ล เช น ช อแฟ มข อม ล ชน ดของแฟ มข อม ล ขนาดของแฟ มข อม ล โดย ล กษณะเหล าน จะเป นประโยชน ในการป องก น การร กษาความปลอดภ ย และ การควบค มการใช งานแฟ มข อม ล ในการอ างถ งต าแหน งท อย ของแฟ มข อม ล ผ ใช ไม จ าเป นต องอ างถ งเลขท อย เช ง กายภาย (Physical Address) ท บรรจ แฟ มข อม ลน นโดยตรง แต สามารถระบ ช อทางตรรกะของแฟ มข อม ล (Logical filename) ซ งเป นช อ แฟ มข อม ล สาหร บให ผ ใช เร ยกใช งานได อย างสะดวก
แฟ มข อม ล (File) ระบบปฏ บ ต การจะเข ามาจ ดการส ง (map) จากแฟ มข อม ลเช งตรรกะไปย ง แฟ มข อม ลเช งกายภาพ รวมถ งการเร ยก system call เพ อสร างแฟ มข อม ล, ลบแฟ มข อม ล, อ าน/เข ยนแฟ มข อม ล
ไดเรกทอร แฟ มข อม ล ไดเรกทอร (Directories) เป นท เก บรวบรวมช อของแฟ มข อม ล และข อม ลท สาค ญของแฟ มข อม ล โดยม ว ตถ ประสงค สาค ญค อ เพ มประส ทธ ภาพการท างานของระบบ และความ สะดวกส าหร บผ ใช ด วยการช วยให ผ ใช สามารถเข าถ งแฟ มข อม ลท ต องการได อย างรวดเร วมากข น รวมถ งช วยให ผ ใช สะดวกสบายในการใช แฟ มข อม ล ท งการต งช อแฟ มข อม ล การ จ ดกล มแฟ มข อม ลตามความต องการของผ ใช
ไดเรกทอร แฟ มข อม ล โดยท วไป ไดเรกทอร ประกอบด วยข อม ลต างๆ ด งน o ข อม ลพ นฐาน (Basic information) เป นข อม ลพ นฐานท วไปของแฟ มข อม ล เช น ช อแฟ มข อม ล และชน ดของ แฟ มข อม ล o ข อม ลเลขท อย (Address information) เป นข อม ลเก ยวก บเลขท อย ของแฟ มข อม ล ได แก ต าแหน งเร มต นของ หน วยความจาสารองท เก บแฟ มข อม ลน, ขนาดของแฟ มข อม ล
ไดเรกทอร แฟ มข อม ล o ข อม ลการควบค มการเข าถ ง (Access control information) เป นข อม ลท ระบบใช ในการควบค มการเข าถ งแฟ มข อม ลน นๆ เช น ช อ เจ าของแฟ มข อม ล ส ทธ ในการเข าถ งแฟ มข อม ล o ข อม ลการใช งาน (Usage information) เป นข อม ลเก ยวก บการใช งานแฟ มข อม ลน นๆ เช น ว นท ใช งานแฟ มข อม ล อาจเป นว นท ท าการสร างแฟ มข อม ล ว นท ท าการเข าถ งแฟ มข อม ลล าส ด ว นท ทาการแก ไขแฟ มข อม ลล าส ด ว นท ทาการเร ยกใช งานแฟ มข อม ลล าส ด
ไดเรกทอร แฟ มข อม ล ต วอย างการนาไดเรกทอร ไปใช ในการดาเน นการก บแฟ มข อม ล o การค นหาแฟ มข อม ล (search) เม อผ ใช หร อโปรแกรมเร ยกใช แฟ มข อม ลใด ระบบต องค นหาแฟ มข อม ลน นจากไดเรกทอร o การสร างแฟ มข อม ล (create file) เม อม การสร างแฟ มข อม ลใหม ระบบต อง บ นท กล กษณะประจาและข อม ลต างๆ ของแฟ มข อม ลน น เพ มเข าไปในไดเรกทอร o การลบแฟ มข อม ล (delete file) เม อม การลบแฟ มข อม ล รายการของ แฟ มข อม ลจะต องถ กลบออกจากไดเรกทอร และเม อม การค นหาก จะไม พบ แฟ มข อม ลน อ กต อไป o การเปล ยนแปลงแฟ มข อม ล (update file) เม อต องการเปล ยนแปลงล กษณะ ประจ าต างๆ ของแฟ มข อม ล สามารถท าได โดยการเปล ยนแปลงรายการใน ไดเรกทอร
ต วอย างโครงสร างของไดเรกทอร ต วอย างโครงสร างของไดเรกทอร oไดเรกทอร ระด บเด ยว (Single-level directory) oไดเรกทอร สองระด บ (Two-level directory) oไดเรกทอร แบบต นไม (Tree-structured directory)
ไดเรกทอร ระด บเด ยว ไดเรกทอร ระด บเด ยว (Single-level directory) เป นไดเรกทอร ท ม โครงสร างง ายท ส ด โดยแฟ มข อม ลท กแฟ มจะถ กรวบรวมไว ในระด บเด ยวก น ท งหมด ทาให ไม สะดวกสาหร บระบบท ม ผ ใช หลายคน เน องจากผ ใช แต ละคนม แฟ มข อม ล จ านวนมาก และเป นแฟ มข อม ลหลากหลายชน ด เม อน ามาเก บรวมก นไว ใน ระด บเด ยวก น ทาให ไม สะดวกในการค นหาแฟ มข อม ลท ผ ใช ต องการ อาจเก ดป ญหาในการสร างแฟ มข อม ลม ช อเด ยวก บแฟ มข อม ลท ม อย แล ว เป นผล ให เก ดการเข ยนท บแฟ มข อม ลเด ม ทาให ข อม ลเด มเก ดส ญหายได
ไดเรกทอร ระด บเด ยว
ไดเรกทอร สองระด บ ไดเรกทอร สองระด บ (Two-level directory) เป นโครงสร างไดเรกทอร ท แก ไขป ญหากรณ ช อแฟ มข อม ลตรงก นของไดเรกทอร ระด บเด ยว โดยจะก าหนดให ผ ใช แต ละคน สามารถสร างไดเรกทอร ย อยของตนเอง (sub directory) โดยท แต ละไดเรกทอร ย อยอย ภายใต ไดเรกทอร ราก (root directory) เด ยวก น ด งน นภายในไดเรกทอร ย อยของผ ใช แต ละคน สามารถ กาหนดช อแฟ มข อม ลได ตามความต องการ อาจเก ดป ญหาในกรณ ท ผ ใช ม แฟ มข อม ลหลายประเภท เช น แฟ มข อม ลงานว จ ย (research.doc) แฟ มข อม ลคะแนน (score.xls) แฟ มข อม ลการสอน (lecture.ppt) การใช ไดเรกทอร สองระด บ ท าให แฟ มข อม ลท กแฟ ม ต องถ ก จ ดเก บในระด บเด ยวก น
ไดเรกทอร สองระด บ
ไดเรกทอร แบบต นไม โครงสร างไดเรกทอร สองระด บ แม จะแก ป ญหาความซ าซ อนของช อแฟ มข อม ลใน ระบบท ม ผ ใช หลายคนได แล ว แต ย งเก ดป ญหาในกรณ ท ผ ใช แต ละคนม แฟ มข อม ลจานวนมาก ไดเรกทอร แบบต นไม (Tree-structured directory) เป นการจ ด โครงสร างของไดเรกทอร โดยก าหนดให ผ ใช แต ละคนสามารถแยกกล มของ แฟ มข อม ลตามงานท ทา หร อตามความต องการ โดยท าการรวบรวมแฟ มข อม ลแต ละกล มไว ภายใต ไดเรกทอร ท แยกจากก น ค อ ให ม ไดเรกทอร ย อยภายใต ไดเรกทอร แฟ มข อม ลของผ ใช แต ละคนได ในการอ างถ งแฟ มข อม ล จาเป นต องระบ ท อย ของแฟ มข อม ลน นๆ ให ถ กต อง
ไดเรกทอร แบบต นไม
การจ ดระเบ ยบและการเข าถ งแฟ มข อม ล การจ ดระเบ ยบแฟ มข อม ล (File Organization) หมายถ ง การจ ด โครงสร างทางตรรกะของแฟ มข อม ล ท ได ม การรวบรวมระเบ ยนหร อเรคคอร ดไว ในแฟ มข อม ล เม อผ ใช ต องการใช ข อม ลเหล าน น ผ ใช ต องเข าถ งแฟ มข อม ลในร ปแบบท สอดคล องก บการจ ดระเบ ยบแฟ มข อม ลน นๆ โดยร ปแบบการเข าถ งแฟ มข อม ล o การเข าถ งแบบล าด บ (Sequential access) ซ งต องม การอ านข อม ลต งแต ต น ระเบ ยนแรกของแฟ มข อม ลจนกระท งถ งระเบ ยนข อม ลท ต องการ o การเข าถ งโดยตรง (direct access) ท ม การเข าถ งเลขท อย ระเบ ยนท ต องการ โดยตรง o การเข าถ งแบบส ม (random access) ท ม การใช ว ธ การต างๆ ในการหาต าแหน ง ของระเบ ยนท ต องการ
โครงสร างระบบแฟ มข อม ล แฟ มข อม ลต องถ กจ ดเก บลงบนส อบ นท กข อม ล ส อท น ยมใช ค อ ด สก (disk) ในการออกแบบระบบแฟ มข อม ลท ม ประส ทธ ภาพ และอานวยความสะดวกให แก ผ ใช ระบบปฏ บ ต การจ าเป นต องก าหนดให ระบบแฟ มข อม ลสามารถจ ดเก บและ เร ยกใช ข อม ลต างๆ ได ง าย โดยแบ งโครงสร างการท างานของระบบแฟ มข อม ลออกเป น 4 ระด บ แต ละ ระด บถ กออกแบบให ใช ค ณสมบ ต ของระด บท อย ต ากว าในการสร างค ณล กษณะ ใหม เพ อให ระด บท อย ส งกว านาไปใช งานต อไป
การแบ งระด บของระบบแฟ มข อม ล Application Program ค อ โปรแกรมท นาไป ใช งาน เช น MS Word, Game Devices ค อ อ ปกรณ ท เก บข อม ล หร อแฟ ม ข อม ลถ กควบค มโดย Device Driver
โครงสร างระบบแฟ มข อม ล I/O Control เป นระบบแฟ มข อม ลระด บล างส ด ท ประกอบด วย โปรแกรม ข บอ ปกรณ (device driver) และช ดค าส งเร องข ดจ งหวะ เพ อท าหน าท ส งผ านข อม ลระหว างหน วยความจาหล กและอ ปกรณ Basic File System ประกอบด วยคาส งท ส งให โปรแกรมข บอ ปกรณ ท าการ อ าน/เข ยนข อม ลบนอ ปกรณ File-organization Module ท าหน าท แปลงเลขท อย เช งตรรกะของบล อค เป นเลขท อย เช งกายภาพท บรรจ ข อม ล และท าหน าท จ ดการพ นท ว างของ อ ปกรณ Logical File System ม หน าท เช อมระบบปฏ บ ต การก บผ ใช ป องก น ข อม ล และร กษาความปลอดภ ยของข อม ล
โครงสร างระบบแฟ มข อม ล เม อผ ใช ต องการเข าถ งอ ปกรณ ต างๆ (Devices) ด วยการเข ยนข อม ลลง อ ปกรณ หร ออ านข อม ลท ถ กจ ดเก บบนอ ปกรณ ต างๆ ผ ใช สามารถท าได ด วย การเร ยกใช โปรแกรมประย กต (Application program) ท ส งผ านความ ต องการของผ ใช ผ านไปตามระด บช นต างๆ ของระบบแฟ มข อม ล เพ อให ได งาน ตามท ผ ใช ต องการ เช น เม อโปรแกรมประย กต เช น โปรแกรมเอด เตอร ต องการสร างแฟ มข อม ล ใหม (create) โปรแกรมประย กต จะเข าไปท างานท ระด บของ Logical file system ด วยการอ านไดเรกทอร ของด สก และน าไปไว ท หน วยความจ า หล ก จากน นท าการเปล ยนแปลง (update) ไดเรกทอร ด วยการเพ มรายการ ใหม ท ประกอบไปด วย ล กษณะเฉพาะของแฟ มข อม ลท ต องการสร าง แล วจ ง บ นท กไดเรกทอร ท ถ กเปล ยนแปลงกล บลงด สก
โครงสร างระบบแฟ มข อม ล จากน นท างานต อไปท ระด บของ Logical file system ด วยการเร ยก File-organization module ท จะแปลงเลขท อย เช งตรรกะของด สก บล อค เป นเลขท อย เช งกายภาพของด สก บล อค รวมถ งจ ดการหาท ว างบนด สก ข อม ลต างๆ จะถ กส งต อไปย งระด บ Basic file system ท เร ยกใช ค าส งท จะส งให โปรแกรมข บอ ปกรณ ท าการเข ยนข อม ลลงบนด สก บล อคในระด บ I/O Control system ต อไป การท างานระด บ I/O control จะต องม การเร ยกใช โปรแกรมข บอ ปกรณ และโปรแกรมข ดจ งหวะ เพ อให ระบบสามารถถ ายโอนข อม ลระหว าง หน วยความจาหล ก และด สก ด วยการเข ยนข อม ลท ต องการลงบนบล อคท ม อย จร งบนด สก
ความเช อถ อได ของแฟ มข อม ล ระบบแฟ มข อม ลท ถ กใช งาน อาจเก ดการส ญหาย หร อเส ยหายด วยสาเหต ต างๆ อ นเน องมาจากฮาร ดแวร ซอฟต แวร ภ ยธรรมชาต อ บ ต เหต ระบบจาเป นต องสร างความเช อถ อได ของแฟ มข อม ลด วยการส ารอง (backup) แฟ มข อม ลไว ในหน วยความจาสารอง เช น ด สก ซ ด รอม เม อม ความเส ยหายเก ดข นก บแฟ มข อม ล สามารถนาเอาแฟ มข อม ลท ส ารองไว มา ใช งานต อไปได ด งน นถ าข อม ลม การเปล ยนแปลงบ อย จ าเป นต องส ารองแฟ มข อม ลบ อยๆ เช นก น เพ อให แฟ มข อม ลน นเป นป จจ บ นมากท ส ด
ความเช อถ อได ของแฟ มข อม ล ในการส ารองข อม ลท งหมดของระบบอาจต องใช เวลานานมาก และใช พ นท หน วยความจาสารองขนาดใหญ ด งน นระบบต องพ จารณาว า จะท าการส ารองแฟ มข อม ลท งหมด หร อส ารองเฉพาะบางส วนของแฟ มข อม ล เท าน น หร ออาจพ จารณาให ม การบ บอ ดแฟ มข อม ลก อนท จะทาการสารอง พ จารณาความเหมาะสมของเวลาและความถ ในการส ารองแฟ มข อม ล เน องจาก ขณะท ท าการส ารองแฟ มข อม ล ระบบต องหย ดท างานช วขณะ และไม สามารถ เร ยกแฟ มข อม ลน นได ถ าส ารองแฟ มข อม ลบ อยเก นไป จะท าให ระบบเส ยเวลาท างาน แต ถ าส ารอง แฟ มข อม ลเป นระยะเวลาท ห างก นมากเก นไป จะทาให ข อม ลไม เป นป จจ บ น
ประเภทของการสารองแฟ มข อม ล Physical Dump เป นว ธ ท ง าย หล กการทางานค อ ทาการส ารองแฟ มข อม ลท งหมดของระบบ โดยท า การสารองแฟ มข อม ลต งแต บล อคแรกจนถ งบล อคส ดท ายของแฟ มข อม ล ข อเส ยค อ ต องเส ยเวลา เน องจากต องสารองข อม ลท กบล อคของด สก ถ งแม ว าบล อค น นๆ จะบรรจ แฟ มข อม ลท ไม ม การเปล ยนแปลง หร อบล อคน นไม ม แฟ มข อม ลบรรจ อย ก ตาม Logical Dump หล กการทางานค อ ทาการสารองเฉพาะแฟ มข อม ลท ม การเปล ยนแปลงเท าน น ด วย การพ จารณาจากว นท และเวลาของแฟ มข อม ลท บ นท กไว ในไดเรกทอร ว ธ น ช วยให ระบบใช เวลาในการส ารองข อม ลน อยลง และลดพ นท ของส อบ นท กข อม ล (ด สก ) ท ใช ในการสารองแฟ มข อม ล